<template>
	<view class="agreement-page">
		<!-- 顶部导航栏（保留你的箭头图标，修复点击逻辑） -->
		<view class="nav-bar">
			<view class="back-btn" @click="goBack">
				<image class="back-icon" src="/static/Profile/箭头-左.png" mode="aspectFit"></image>
			</view>
			<!-- 补充导航栏标题（之前遗漏，保持界面完整） -->
			<view class="page-title">{{ pageTitle }}</view>
			<view class="empty"></view>
		</view>

		<!-- 协议内容区（不变） -->
		<view class="protocol-content">

			<view class="protocol-text" v-if="type === 'all'">
				<view class="section">
					<view class="section-title">【用户协议】</view>
					<view class="item">1. 服务条款：您同意按照本协议约定使用我们的服务，不得用于非法用途。</view>
					<view class="item">2. 账号管理：您需妥善保管账户信息，不得转让、出租或出借账户。</view>
				</view>
				<view class="section">
					<view class="section-title">【隐私政策】</view>
					<view class="item">1. 信息收集：我们会收集您的手机号、设备信息等，用于提供服务和保障安全。</view>
					<view class="item">2. 信息使用：您的信息仅用于本平台服务，不会泄露给第三方（法律法规要求除外）。</view>
				</view>
			</view>
			<view class="protocol-text" v-else-if="type === 'user'">
				<view class="section-title">用户协议</view>
				<view class="item">1. 服务条款：您同意按照本协议约定使用我们的服务，不得用于非法用途。</view>
				<view class="item">2. 账号管理：您需妥善保管账户信息，不得转让、出租或出借账户。</view>
				<view class="item">3. 内容规范：您发布的内容需遵守法律法规，不得包含违法、违规信息。</view>
				<view class="item">4. 协议变更：我们可能更新协议，更新后继续使用服务即视为同意新协议。</view>
			</view>
			<view class="protocol-text" v-else-if="type === 'privacy'">
				<view class="section-title">隐私政策</view>
				<view class="item">1. 信息收集：我们会收集您的手机号、设备信息等，用于提供服务和保障安全。</view>
				<view class="item">2. 信息使用：您的信息仅用于本平台服务，不会泄露给第三方（法律法规要求除外）。</view>
				<view class="item">3. 信息保护：我们采用加密技术保护您的信息，防止信息泄露、丢失。</view>
				<view class="item">4. 知情权：您可随时查询、修改您的个人信息，也可申请删除。</view>
			</view>
		</view>

		<!-- 同意按钮（不变） -->
		<view class="agree-btn" @tap="agreeProtocol" v-if="type === 'all'">
			同意并返回登录
		</view>
	</view>
</template>

<script setup lang="ts">
	import { ref, onMounted, onShow } from 'vue'

	// 1. 补全 options 类型定义（解决 TS 报错：options: any）
	interface PageOptions {
		type ?: string
	}

	// 接收路由参数（默认 'all'）
	const type = ref<string>('all')
	// 页面标题（根据类型动态变化）
	const pageTitle = ref<string>('用户协议与隐私政策')

	onMounted(() => {
		// 2. 安全获取当前页面及参数（避免 null/undefined 报错）
		const pages = getCurrentPages()
		const currentPage = pages[pages.length - 1] as { options : PageOptions } // 类型断言
		if (currentPage && currentPage.options.type) {
			type.value = currentPage.options.type
		}
		

		// 根据类型更新标题
		if (type.value === 'user') {
			pageTitle.value = '用户协议'
		} else if (type.value === 'privacy') {
			pageTitle.value = '隐私政策'
		} else {
			pageTitle.value = '用户协议与隐私政策'
		}
	})

	// 3. 修复返回逻辑：用 navigateBack 返回到上一页（登录页），替代 switchTab
	const goBack = () => {
		// navigateBack：返回上一级页面（登录页），保留页面栈逻辑
		uni.navigateBack({
			delta: 1, // 返回1级（如果协议页是从登录页跳转的，delta=1 刚好返回登录页）
			fail: (err) => {
				// 异常处理：如果返回失败（比如页面栈只有协议页），直接跳转到登录页
				console.log('返回上一页失败，直接跳转登录页：', err)
				uni.redirectTo({
					url: '/pages/login' // 登录页完整路径（确保和 pages.json 一致）
				})
			}
		})
	}

	// 同意协议逻辑（不变）
	const agreeProtocol = () => {
		uni.setStorage({
			key: 'hasAgreedProtocol',
			data: true,
			success: () => {
				uni.showToast({ title: '已同意协议', icon: 'success', duration: 1200 })
				setTimeout(goBack, 1200)
			},
			fail: () => {
				uni.showToast({ title: '操作失败，请重试', icon: 'none' })
			}
		})
	}
</script>

<style lang="css" scoped>
	.agreement-page {
		min-height: 100vh;

	}

	/* 导航栏样式（统一配置，避免重复） */
	.nav-bar {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 100rpx;
		padding: 0 30rpx;
		box-sizing: border-box;
		background-color: #ffffff;
	}

	.back-btn {
		width: 44rpx;
		height: 44rpx;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
	}

	.back-icon {
		width: 40rpx;
		height: 40rpx;
	}

	.page-title {
		font-size: 32rpx;
		font-weight: 600;
		color: #333333;
	}

	.empty {
		width: 44rpx;
		/* 与返回按钮宽度一致，保持导航栏平衡 */
	}

	/* 协议内容区样式（不变） */
	.protocol-content {
		border-radius: ;
		padding: 30rpx;
		box-sizing: border-box;
		height: calc(100vh - 200rpx);
		overflow-y: scroll;
		background-color: #ffffff;


	}

	.protocol-title {
		font-size: 36rpx;
		font-weight: bold;
		color: #333333;
		text-align: center;
		margin-bottom: 30rpx;
	}

	.protocol-text {
		line-height: 1.8;
		color: #666666;
		font-size: 28rpx;

	}

	.section {
		margin-bottom: 30rpx;
	}

	.section-title {
		font-size: 30rpx;
		font-weight: 600;
		color: #333333;
		margin-bottom: 15rpx;
	}

	.item {
		margin-bottom: 15rpx;
	}

	/* 同意按钮样式（不变） */
	.agree-btn {
		position: fixed;
		bottom: 30rpx;
		left: 30rpx;
		right: 30rpx;
		width: calc(100% - 60rpx);
		height: 90rpx;
		background: linear-gradient(90deg, #ff6b35, #fd091f);
		color: #ffffff;
		font-size: 32rpx;
		font-weight: 600;
		border-radius: 45rpx;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
	}

	.agree-btn:active {
		opacity: 0.8;
	}
</style>